// 创建wx.request类
// 通过类的方式进行封装，会让代码更加具有复用性，也可以方便添加新的属性和方法
class WxRequest {
  // 定义 constructor 构造函数，用于创建和初始化类的属性和方法
  constructor() {}

  /**
   * @description 发起请求的方法
   * @param { Object} options 请求配置选项，同 wx.request 请求配置选项
   * @returns Promise
   */
  request(options) {
    // 使用 Promise 封装异步请求
    return new Promise((resolve, reject) => {
      // 使用 wx.request 发起请求
      wx.request({
        ...options,

        // 接口调用成功的回调函数
        success: (res) => {
          resolve(res)
        },

        // 接口调用失败的回调函数
        fail: (err) =>  {
          reject(err)
        }
      })
    })
  }
}
const instance = new WxRequest()
export default  instance